On White-box Cryptography and Obfuscation
نویسندگان
چکیده
We study the relationship between obfuscation and white-box cryptography. We capture the requirements of any white-box primitive using a White-Box Property (WBP) and give some negative/positive results. Loosely speaking, the WBP is defined for some scheme and a security notion (we call the pair a specification), and implies that w.r.t. the specification, an obfuscation does not leak any “useful” information, even though it may leak some “useless” non-black-box information. Our main result is a negative one for most interesting programs, an obfuscation (under any definition) cannot satisfy the WBP for every specification in which the program may be present. To do this, we define a Universal White-Box Property (UWBP), which if satisfied, would imply that under whatever specification we conceive, the WBP is satisfied. We then show that for every non-approximately-learnable family, there exist (contrived) specifications for which the WBP (and thus, the UWBP) fails. On the positive side, we show that there exists an obfuscator for a non-approximately-learnable family that achieves the WBP for a certain specification. Furthermore, there exists an obfuscator for a non-learnable (but approximately-learnable) family that achieves the UWBP. Our results can also be viewed as formalizing the distinction between “useful” and “useless” non-black-box information.
منابع مشابه
Securing Android Code Using White Box Cryptography and Obfuscation Techniques
Code obfuscation is a set of program transformations that make program code and program execution difficult to analyze. First of all, obfuscation hinders manual inspection of program internals. By renaming variables and functions, and breaking down structures, it protects against reverse-engineering. It protects both storage and usage of keys, and it can hide certain properties such as a softwa...
متن کاملWhite-Box Cryptography: Formal Notions and (Im)possibility Results
A key research question in computer security is whether one can implement software that offers some protection against software attacks from its execution platform. While code obfuscation attempts to hide certain characteristics of a program P , white-box cryptography specifically focusses on software implementations of cryptographic primitives (such as encryption schemes); the goal of a white-...
متن کاملTowards Security Notions for White-Box Cryptography
While code obfuscation attempts to hide certain characteristics of a program independently of an application, white-box cryptography (WBC) specifically focuses on software implementations of cryptographic primitives in an application. The aim of WBC is to resist attacks from an adversary having access to some ‘executable’ code with an embedded secret key. WBC, if possible, would have several ap...
متن کاملRevisiting Software Protection
We provide a selective survey on software protection, including approaches to software tamper resistance, obfuscation, software diversity, and white-box cryptography. We review the early literature in the area plus recent activities related to trusted platforms, and discuss challenges and future directions.
متن کاملAnalytic Toolbox for White-Box Implementations: Limitation and Perspectives
White-box cryptography is an obfuscation technique to protect the secret key in the software implementations even if an adversary has full access to the implementation of the encryption algorithm and full control over its execution platforms. This concept was presented in 2002 by Chow et al., and since then there have been many proposals to give solutions for the white-box cryptography. However...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/0805.4648 شماره
صفحات -
تاریخ انتشار 2008